A model is a simplified or idealized representation of a real system that is used to predict the behavior of the real system. A model may be used advantageously during the design or analysis of a real system because the model may provide conclusions about the behavior of the system less expensively or more quickly than the real system.
Models are conventionally constructed by a skilled modeler determining which aspects of the real system are of interest and, thus, are to be represented in the model and which aspects can be ignored in order to simplify the model. Based on this determination, a number of parameters may be identified that characterize the behavior of the real system.
Parameters that characterize a real system may be obtained experimentally by taking measurements from the system itself. However, it is generally desired for the model to be able to predict performance of the real system under conditions or workloads other than those under which the measurements were taken. Otherwise, measurements would need to be taken under all possible operating conditions of the real system. This would be impractical and, thus, would defeat much of the advantage obtained by use of a model. Accordingly, the appropriate parameters must be obtained so that the resulting model is predictive of the performance of the real system.
While some parameters may be measured directly from the real system, other parameters may also be required that can only be measured indirectly. For example, behavior that occurs internally to the system may be impractical to directly measure because measurement points are inaccessible. Moreover, some parameters needed for constructing a model may have no counterpart in the real system. For example, a correction factor applied to partial results may be needed to minimize errors in the model's predictions. Thus, results of direct measurements from different experiments must often be combined in order to determine parameter values that cannot be directly measured.
A further difficulty faced by system modelers is that behavior of the real system is not entirely deterministic. It may also be the case that the workload being serviced by the system is insufficiently characterized, i.e., that factors not controlled by the experimenter vary from one measurement to another and have an impact on the system's observed behavior. This means that repeated experiments under the same workload often provide varying results. Accordingly, these varying results must also be taken into account in attempting to obtain needed parameters.
Thus, a significant difficulty facing the modeler is in knowing which experiments should be performed and how many measurements should be taken for each experiment. By taking too many measurements or the wrong ones, the modeler may waste time and resources. Conversely, by not taking enough measurements, the accuracy of the model may be less than what is required for a given application of the model. As a result of these complexities, model construction is conventionally performed in an ad hoc manner which requires significant skill and experience to render an appropriately predictive model.
Therefore, what is needed is an improved technique for model construction. It is to these ends that the present invention is directed.